import { ajax, isLogin } from '../utils/ajax.js';
import '../lib/jquery.js';
import '../lib/layui/layui.js';

(async () => { // 立即执行的异步函数表达式，用于处理登录状态和相关事件
    // 调用 isLogin 函数检查用户是否登录
    const loginCheck = await isLogin();
    // 如果登录检查返回的状态码为 1，表示用户已登录
    if (loginCheck.status === 1) {
        // 移除未登录状态下的激活类，并添加登录状态下的激活类
        $('.off').removeClass('active');
        $('.on').addClass('active');
        // 设置昵称显示为当前登录用户的昵称
        $('.nickname').text(loginCheck.user.nickname);

        // 为个人中心按钮绑定点击事件，点击后跳转到个人中心页面
        $('.self').on('click', function() {
            window.location.href = './self.html';
        });

        // 为退出登录按钮绑定点击事件，点击后执行异步的退出登录操作
        $('.logout').on('click', async function() {
            // 弹出确认对话框，如果用户取消，则不执行退出操作
            if (!confirm('确定要退出登录吗？')) return;
            // 从本地存储中获取用户ID和Token
            const id = localStorage.getItem('uid');
            const token = localStorage.getItem('token');
            // 发起退出登录的网络请求
            const logoutResult = await ajax.get('/users/logout', {
                params: { id }, // 请求参数包含用户ID
                headers: { authorization: token } // 请求头包含用户Token
            });
            // 检查退出登录请求的响应状态码，如果不等于1表示失败
            if (logoutResult.data.code !== 1) {
                alert('注销失败');
                return;
            }
            // 退出登录成功，从本地存储中移除Token和用户ID
            localStorage.removeItem('token');
            localStorage.removeItem('uid');
            // 更新界面上的登录状态显示
            $('.off').addClass('active');
            $('.on').removeClass('active');
        });
    }
})();

//渲染轮播图
async function render() {
    //获取轮播图列表
    let { data: { code, list } } = await ajax.get('/carousel/list');
    if (code != 1) return console.log('获取轮播图失败');
    
    let str = ``;
    list.forEach(e => str += `<div><img src="${ajax.defaults.baseURL}/${e.name}"></div>`);
    //渲染
    $('#carousel > :first-child').html(str);

    // layui 渲染轮播图，动起来
    layui.carousel.render({
        elem: '#carousel', // 选择器
        width: '1200px', //设置容器宽度
        height: '600px',
        arrow: 'hover',
        anim: 'fade' //切换动画方式
    });
}
render();